﻿package net
{
	import flash.events.Event;
	import flash.events.IEventDispatcher;
	
	/**
	 * ...
	 * @author cuiwei
	 */
	public interface IDBufNetwork extends IEventDispatcher
	{
		/**
		 * 连接服务器
		 * @param	szHost 服务器IP
		 * @param	nIp  服务器端口
		 */
		function connect(szHost:String = "", nIp:int = 0) : void
		
		/**
		 * 设置HTTP代理服务器(走SSL通道)
		 * @param	host	
		 * @param	port
		 */
		function setBackupProxy(host:String, port:int, is_primary:Boolean = false):void
		
		/**
		 * 关闭连接
		 */
		function close() : void;
		
		/**
		 * 是否连接上
		 */
		function get isConnected():Boolean;
		
		/**
		 * 获取IP
		 */
		function get ip():String;
		
		/**
		 * 获取端口
		 */
		function get port():int;
		
		
		function writeBeginToGameCenter():void;
		function writeString(strValue:String):void;
		function writeShort(nValue:int):void;
		function writeInt(nValue:int):void;
		function writeByte(nValue:int) : void;
		
		/**
		 * 开始写buf。在writeString writeShort之类的之前，必须先调这个。
		 */
		function writeBegin() : void;
		/**
		 * 写入结束并发送
		 */
		function writeEnd() : void;
		
		function readString() : String;
		function readShort() :int;
		function readInt() : int;
		function readByte() : int;
		
		/**
		 * 开始读取
		 */
		function readbegin() : void
	}
	
}